package com.dy.design_pattern_study.adaptor_pattern.dome2.impl;

import com.dy.design_pattern_study.adaptor_pattern.dome2.Player;
import com.dy.design_pattern_study.adaptor_pattern.dome2.entry.ForeignCenter;

/**
 * @CreateBy zhangdingyi
 * @Date 2023-04-07
 * @Content 翻译者类 -外籍中锋，不能直接得到 请求 因此需要对原先的数据进行修改
 */
public class Translator extends Player {
    private ForeignCenter fc = new ForeignCenter();
    public Translator(String name) {
        super(name);
        //这里设置名字 - 外籍球员，通过翻译之后，可以得到对应的信息
        fc.setName(name);
    }

    @Override
    public void attack() {
        //什么是适配器？
        //这个就是适配器，适配器就是可以适应不同的情况（有不同的逻辑给其，但方法名一样）
        //这里直接 更换原有的内容（调用外籍球员的方法）
        //这里的话，就像是，直接重构一个新的方法，仅作继承
        //重写 父类的方法，可以使得其根据不同的情况来添加新的逻辑
        fc.jg();
    }

    @Override
    public void defense() {
        fc.sf();
    }
}
